/**
 * Multicast project Bidois Morgan & Thomas Nunes
 *
 */
package Gui;

import Gui.ChatException;

/**
 * The IChatClient interface defines the callback methods for the GUI of the
 * chat application (see @code ChatGUI}
 */
public interface I_ChatClient {

    /**
     * Enter in the group
     *
     * @param clientName name choose during connection
     * @throws ChatException
     */
    public void register(String clientName) throws ChatException;

    /**
     * Leave the group
     *
     * @throws ChatException
     */
    public void leave() throws ChatException;

    /**
     * Ask who are in the group
     *
     * @throws ChatException
     */
    public void who() throws ChatException;

    /**
     * Send a message to the group
     *
     * @param msg
     * @throws ChatException
     */
    public void sendMsgToGroup(String msg) throws ChatException;

    /**
     * Leave the application
     *
     * @throws ChatException
     */
    public void quit() throws ChatException;
}
